home *** CD-ROM | disk | FTP | other *** search
- 100 GOTO 1000
- 110 *SETTEI
- 120 DEF FNXC1(C)=COS(C/180*PI)*100+X:DEF FNYS1(S)=Y-SIN(S/180*PI)*100
- 130 DEF FNXC2(C)=COS(C/180*PI)*90+X :DEF FNYS2(S)=Y-SIN(S/180*PI)*90
- 140 DEF FNXC3(C)=SIN(C/180*PI)*100 :DEF FNYS3(S)=COS(S/180*PI)*100
- 150 DEF FNN1(N) =(N-2)/4 :DEF FNN2(N) =((N-2)/4)+1
- 160 RETURN
- 170 '
- 1000 SCREEN@ 0:CONSOLE 19,5:DEF FONT"システム 16ドット"
- 1010 DIM EN%(INT((INT((207+7)/8)*207*4+2-1)/2))
- 1020 DIM ZU%(INT((INT((321+7)/8)*145*4+2-1)/2))
- 1030 '
- 1040 X=400:Y=180:PI=3.14159!:C=5:C2=2:CP=3
- 1050 '
- 1060 LINE(0, 0)-(639,479),PSET,%5,BF:LINE(2,2)-(637,477),PSET,CP,B
- 1070 LINE(12, 6)-(627, 36),PSET,CP,B :LINE(12,324)-(628,473),PSET,CP,B
- 1080 LINE(6 , 6)-(8, 473),PSET,CP,B :LINE(631, 6)-(633,473),PSET,CP,B
- 1090 LINE(12,40)-(627,320),PSET,0, BF:LINE(14, 42)-(625,318),PSET, 1,B'
- 1100 '
- 1110 'GOTO 1520'*HAZIME
- 1120 '
- 1130 *KAIENN
- 1140 A1$="えんの めんせきは なぜ ぱいあーるのじじょう なのか げきじょう"
- 1150 SYMBOL (49,12),A1$,1,1,6
- 1160 WAIT 200
- 1170 '
- 1180 A3$="2"
- 1190 RESTORE *KAIENN_W:READ A$,PS
- 1200 MOZI=LEN(A$):SPACE=(640-MOZI*8)/2
- 1210 FOR I=0 TO MOZI/2-1
- 1220 MOZI=LEN(A$):SPACE=(640-MOZI*8)/2
- 1230 SYMBOL@(SPACE+16*I,PS),MID$(A$,I*2+1,2),1!,1!,4
- 1240 WAIT 15
- 1250 NEXT I
- 1260 SYMBOL (374,87),A3$,1,1,4:WAIT 100
- 1270 '
- 1280 FOR J=0 TO 3
- 1290 READ A$,PS
- 1300 MOZI=LEN(A$):SPACE=(640-MOZI*8)/2
- 1310 FOR I=0 TO MOZI/2-1
- 1320 SYMBOL@(SPACE+16*I,PS),MID$(A$,I*2+1,2),1!,1!,4
- 1330 WAIT 15
- 1340 NEXT I
- 1350 WAIT 100
- 1360 NEXT J
- 1370 '
- 1380 LINE(12,40)-(627,320),PSET,0, BF:LINE(14, 42)-(625,318),PSET, 1,B'
- 1390 A2$="開 演"
- 1400 MOZI2=LEN(A2$):SPACE2=(640-MOZI2*8)/2
- 1410 SYMBOL (SPACE2,170),A2$,1!,1!,4
- 1420 '
- 1430 *KAIENN_W
- 1440 DATA "円の面積=πγ",90
- 1450 DATA "つまり 円周率×半径×半径 で求められます。",120
- 1460 DATA "なぜでしょう。分かりますか?",150
- 1470 DATA "この劇場では",225
- 1480 DATA "その秘密を教えてくれます。",255
- 1490 WAIT 200
- 1500 '
- 1510 LINE(284,161)-(353,195),PSET,0,BF'
- 1520 GOSUB *GAMEN
- 1530 LINE(22,410)-(620,470),PSET,%5,BF'
- 1540 '
- 1550 *HAZIME
- 1560 GOSUB *MODE_SETTEI
- 1570 IF SPEED=1 THEN GOTO 1600
- 1580 RESTORE *W1
- 1590 GOSUB *COMENT_1
- 1600 X=400:Y=180:PI=3.14159!:C=5:C2=2:CP=3
- 1610 GOSUB *SETTEI
- 1620 LINE(12,40)-(627,320),PSET,0,BF:LINE(14,42)-(625,318),PSET,1,B'
- 1630 GOSUB *EN_EGAKU
- 1640 GOSUB *GAMEN
- 1650 IF SPEED=1 THEN GOTO 1720
- 1660 RESTORE *W1_1
- 1670 GOSUB *COMENT_1
- 1680 '
- 1690 RESTORE *WH1
- 1700 GOSUB *HELP
- 1710 '
- 1720 GOSUB *NYURYOKU
- 1730 CLS 4:PS=353
- 1740 LINE(22,410)-(620,470),PSET,%5,BF
- 1750 IF SPEED=1 THEN GOTO 1780
- 1760 GOSUB *COMENT_2
- 1770 '
- 1780 IF SPEED=0 THEN GOTO 1880
- 1790 RESTORE *W16
- 1800 GOSUB *GAMEN
- 1810 A1$="現在 ハイスピードモードで実行中です。"
- 1820 A2$="解説付きで見たい人は、 これが終わったら解説付きモードで見てね。"
- 1830 MOZI1=LEN(A1$):SPACE1=(640-MOZI1*8)/2
- 1840 MOZI2=LEN(A2$):SPACE2=(640-MOZI2*8)/2
- 1850 SYMBOL@(SPACE1,353),A1$,1!,1!,4
- 1860 SYMBOL@(SPACE2,377),A2$,1!,1!,4
- 1870 '
- 1880 KAKU=360/M:TKAKU=KAKU/2:KAISU_1=(M-2)/2:KAISU_2=M:KESI=0
- 1890 XB=FNXC3(TKAKU):YB=FNYS3(TKAKU)
- 1900 '
- 1910 GOSUB *BUNKATUSEN
- 1920 GOSUB *IROTUKE
- 1930 '
- 1940 GET@A(296,77)-(502,283),EN%
- 1950 '
- 1960 IF SPEED=1 THEN GOTO 2090'
- 1970 RESTORE *W2
- 1980 GOSUB *GAMEN
- 1990 GOSUB *COMENT_1
- 2000 '
- 2010 'GOTO 1970'
- 2020 *YAZIRUSI
- 2030 FOR J=0 TO 2
- 2040 LINE (250,160)-(270,190),PSET,0,BF:WAIT 50
- 2050 LINE (260,175)-(270,185),PSET,2,BF
- 2060 CONNECT (250,180)-(260,170)-(260,190)-(250,180),2,PSET,F,2:WAIT 50
- 2070 NEXT
- 2080 '
- 2090 PUT@A(26, 77)-(233,283),EN%:WAIT 200
- 2100 LINE (250,160)-(270,190),PSET,0,BF:WAIT 50
- 2110 ' GOTO 1815
- 2120 IF M MOD 4=0 THEN GOSUB *MAIN_1
- 2130 IF M MOD 4=2 THEN GOSUB *MAIN_2
- 2140 '
- 2150 GOTO *OWARI
- 2160 '
- 2170 *GAMEN
- 2180 LINE(22,344)-(618,400),PSET,%1,BF
- 2190 LINE(24,346)-(616,398),PSET,%3,B
- 2200 RETURN
- 2210 '
- 2220 *COMENT_1
- 2230 FOR J=0 TO 1
- 2240 READ A$,PS
- 2250 MOZI=LEN(A$):SPACE=(640-MOZI*8)/2
- 2260 FOR I=0 TO MOZI/2-1
- 2270 SYMBOL@(SPACE+16*I,PS),MID$(A$,I*2+1,2),1!,1!,4
- 2280 WAIT 10
- 2290 NEXT I
- 2300 WAIT 100
- 2310 NEXT J
- 2320 RETURN
- 2330 '
- 2340 *W1
- 2350 DATA "円の面積は求めにくいので, 円をいくつかに切って並べ変えてみます。",353
- 2360 DATA "円は,あなたの指示で TOWNS君が切ってくれますよ。",377
- 2370 '
- 2380 *W1_1
- 2390 DATA "上の円を切ります。いくつに切るか偶数で入力して下さい。",353
- 2400 DATA " ",377
- 2410 '
- 2420 *W2
- 2430 DATA "後で分かりやすくするために、 この円を左側にコピーしておきます。",353
- 2440 DATA "右と左は同じ円です。",377
- 2450 '
- 2460 *W3
- 2470 DATA "円を切って置き換えてみます。置き換えた部分は,緑色で表示します。",353
- 2480 DATA "まず,上半分の部分を置き換えます。",377
- 2490 '
- 2500 *W4
- 2510 DATA "同じように。",353
- 2520 DATA "下半分の部分を置き換えます。",377
- 2530 '
- 2540 *W5
- 2550 DATA "下の部分を, 上のすきまに埋め込んでいってみます。",353
- 2560 DATA "一つ一つ移動します。",377
- 2570 '
- 2580 *W6
- 2590 DATA "左の桃色の円を切って,並べ変えたのが,右の図形です。",353
- 2600 DATA "左の円と右の図形は同じ面積です。",377
- 2610 '
- 2620 *W7
- 2630 DATA "もう少し形を見やすくするために",353
- 2640 DATA "一番右側の図形を左端に移動させます。",377
- 2650 '
- 2660 *W8
- 2670 DATA "左の図形は円ですが,右の図形は,長方形に近いですね。",353
- 2680 DATA "面積は, 右の図形も左の図形も同じです。",377
- 2690 '
- 2700 *W9
- 2710 DATA "とすると,円の面積は",353
- 2720 DATA "右のような長方形に置き換えて求めることができます。",377
- 2730 '
- 2740 *W10
- 2750 DATA "右の長方形(に近い形)で",353
- 2760 DATA "縦は 円の半径,横は 円周の長さの半分 です。",377
- 2770 '
- 2780 *W11
- 2790 DATA "円周の長さは 2×円周率×半径",214
- 2800 DATA "円周の長さの半分は 円周率×半径",238
- 2810 '
- 2820 *W12
- 2830 DATA "右の図形の面積は ",214
- 2840 DATA "縦(半径)×横(円周の長さの半分)",238
- 2850 DATA "縦(半径)×横(円周率×半径)",262
- 2860 '
- 2870 *W13
- 2880 DATA "左側の円の面積は, 右の図形の面積と同じなので",353
- 2890 DATA "縦(半径)×横(円周率×半径)つまり 円周率×半径×半径 です。",377
- 2900 '
- 2910 *W14
- 2920 DATA "右側の図形は, 分ける数を多くすれば長方形に近づき、 ",353
- 2930 DATA "小さくすれば, 形がゆがみます。色々試してください。",377
- 2940 '
- 2950 *W15
- 2960 DATA "☆ ☆ ☆ ま と め ☆ ☆ ☆ ",353
- 2970 DATA "円の面積=円周率×半径×半径",377
- 2980 '
- 2990 *W16
- 3000 DATA "現在 ハイスピードモードで実行中です。",353
- 3010 DATA "解説付きで見たい人は,これが終わったら解説付きモードを選んでね。",377
- 3020 '
- 3030 *WH1
- 3040 DATA "HELP 数字はキーボードから入力しリターンキーを押してね。",414
- 3050 '
- 3060 *WH2
- 3070 DATA "HELP 4以上の数字を入力して下さい。",414
- 3080 '
- 3090 *WH3
- 3100 DATA "HELP 偶数を入力して下さい。",414
- 3110 '
- 3120 *WH4
- 3130 DATA "HELP 180以下の数字を入力して下さい。",414
- 3140 '
- 3150 *WH5
- 3160 DATA "お わ る も一度やる メニューへ",425
- 3170 '
- 3180 *COMENT_2
- 3190 GOSUB *GAMEN
- 3200 M$=STR$(M):A$="上の円を 個に切ります。"
- 3210 MOZI=LEN(A$):SPACE=(640-MOZI*8)/2
- 3220 FOR I=0 TO MOZI/2-1
- 3230 SYMBOL@(SPACE+16*I,PS),MID$(A$,I*2+1,2),1!,1!,4
- 3240 WAIT 10
- 3250 NEXT I
- 3260 SYMBOL@(SPACE+16*4,PS),M$,1!,1!,4
- 3270 WAIT 100
- 3280 RETURN
- 3290 '
- 3370 *EN_EGAKU
- 3380 CIRCLE (X,Y),100,C,1,,,N
- 3390 RETURN
- 3400 '
- 3410 *NYURYOKU
- 3420 CLS 4:LOCATE 15,20:COLOR 4:INPUT"円を いくつに切りますか(4以上の偶数) ";M
- 3430 IF M<=3 THEN GOSUB *TIISAI
- 3440 IF M MOD 2=1 THEN GOSUB *KISUU
- 3450 IF M>180 THEN GOSUB *OOKII
- 3460 IF M=>4 AND M<=8 THEN TW=25
- 3470 IF M=>10 AND M<=16 THEN TW=15
- 3480 IF M=>18 AND M<=30 THEN TW=8
- 3490 IF M=>32 AND M<=60 THEN TW=4
- 3500 IF M=>62 AND M<=90 THEN TW=2
- 3510 IF M=>92 THEN TW=1
- 3520 RETURN
- 3530 '
- 3540 *TIISAI
- 3550 RESTORE *WH2
- 3560 GOSUB *HELP
- 3570 WAIT 100:GOTO 3420
- 3580 *KISUU
- 3590 RESTORE *WH3
- 3600 GOSUB *HELP
- 3610 WAIT 100:GOTO 3420
- 3620 *OOKII
- 3630 RESTORE *WH4
- 3640 GOSUB *HELP
- 3650 WAIT 100:GOTO 3420
- 3660 '
- 3670 *BUNKATUSEN
- 3680 KAKU_2=KAKU:N=4:KN1=FNN1(M):KN2=FNN2(M)
- 3690 LINE (X-100,Y)-(X+100,Y),PSET,C':WAIT TW
- 3700 FOR J=1 TO KAISU_1
- 3710 XC1=FNXC1(KAKU_2):YS1=FNYS1(KAKU_2)
- 3720 XC2=X-(XC1-X):YS2=Y+(Y-YS1)
- 3730 IF J=KN1 THEN GOSUB *KIROKU1
- 3740 IF J=KN2 THEN GOSUB *KIROKU2
- 3750 LINE (XC1,YS1)-(XC2,YS2),PSET,C
- 3760 N=N+2:KAKU_2=KAKU_2+KAKU:WAIT TW
- 3770 NEXT
- 3780 RETURN
- 3790 '
- 3800 *KIROKU1
- 3810 KNX1=XC1:KNY1=YS1
- 3820 KNX3=XC2:KNY3=YS2
- 3830 RETURN
- 3840 '
- 3850 *KIROKU2
- 3860 KNX2=XC1:KNY2=YS1
- 3870 KNX4=XC2:KNY4=YS2
- 3880 RETURN
- 3890 '
- 3900 *IROTUKE
- 3910 KAKU_2=KAKU/2:N=1
- 3920 FOR J=1 TO KAISU_2
- 3930 XC1=FNXC2(KAKU_2):YS1=FNYS2(KAKU_2)
- 3940 PAINT(XC1,YS1),&H0B0B0B0BB0B0B0B0,C
- 3950 N=N+1:KAKU_2=KAKU_2+KAKU:WAIT TW
- 3960 NEXT
- 3970 RETURN
- 3980 '
- 3990 *MAIN_1
- 4000 KAKU_IRO=KAKU/2:KAKU_SEN=KAKU:N=1:YE_CHE=0
- 4010 XT1=X:YT1=Y-100:XBT=XB:YBT=YB:XZ=3:YZ=2
- 4020 XH1=XT1+1:YH1=YT1-1:XH2=X+100:YH2=Y-1:LC=1
- 4030 IF SPEED=1 THEN GOTO 4070
- 4040 RESTORE *W3
- 4050 GOSUB *GAMEN
- 4060 GOSUB *COMENT_1
- 4070 GOSUB *SAGYOU
- 4080 '
- 4090 LINE (X,Y)-(X,Y-100),PSET,C'
- 4100 KAKU_IRO=90+(KAKU/2):KAKU_SEN=90+KAKU:YE_CHE=0
- 4110 XT1=X:YT1=Y-100:XBT=-XB:YBT=YB:XZ=-3:YZ=2
- 4120 XH1=X-100:YH1=Y-101:XH2=XT1-1:YH2=Y-1:LC=0:GY=-100:GC1=C:GC2=0
- 4130 HAZI=1
- 4140 GOSUB *SAGYOU
- 4150 '
- 4160 KAKU_IRO=180+(KAKU/2):KAKU_SEN=180+KAKU:YE_CHE=1
- 4170 XT1=X:YT1=Y+100:XBT=-XB:YBT=-YB:XZ=-3:YZ=-2
- 4180 XH1=X-100:YH1=Y:XH2=XT1-1:YH2=YT1-1:GY=100:GC1=0:GC2=C
- 4190 IF SPEED=1 THEN GOTO 4230
- 4200 RESTORE *W4
- 4210 GOSUB *GAMEN
- 4220 GOSUB *COMENT_1
- 4230 HAZI=0
- 4240 GOSUB *SAGYOU
- 4250 '
- 4260 KAKU_IRO=270+(KAKU/2):KAKU_SEN=270+KAKU:YE_CHE=1
- 4270 XT1=X:YT1=Y+100:XBT=XB:YBT=-YB:XZ=3:YZ=-2
- 4280 XH1=X+100:YH1=Y:XH2=XT1+1:YH2=YT1-1:LC=2:GC2=0
- 4290 LINE (X,Y+100)-(X,Y),PSET,C
- 4300 GOSUB *SAGYOU
- 4310 '
- 4320 WAIT 100'
- 4330 XT1=X:YT1=Y+100:X1_X=X_X:Y1_Y=Y_Y:XBT=XB :YBT=-YB:XZ=3 :YZ=-2:HAZI=1
- 4340 IF SPEED=1 THEN GOTO 4380
- 4350 RESTORE *W5
- 4360 GOSUB *GAMEN
- 4370 GOSUB *COMENT_1
- 4380 GOSUB *KESI_KAKI
- 4390 '
- 4400 XT1=X:YT1=Y+100:X1_X=X_X:Y1_Y=Y_Y:XBT=-XB:YBT=-YB:XZ=-3:YZ=-2:HAZI=2
- 4410 GOSUB *KESI_KAKI
- 4420 GOSUB *RL_IDOU
- 4430 '
- 4440 GET@A(240,49)-(560,193),ZU%
- 4450 LINE(240,49)-(560,193),PSET,0,BF
- 4460 PUT@A(272,52)-(592,196),ZU%'X=+32:Y=+3
- 4470 '
- 4480 GOSUB *KAISETU
- 4490 '
- 4500 RETURN
- 4510 '
- 4520 *RL_IDOU
- 4530 IF SPEED=1 THEN GOTO 4580
- 4540 RESTORE *W6
- 4550 GOSUB *GAMEN
- 4560 GOSUB *COMENT_1
- 4570 '
- 4580 LINE (XEND1,YEND1)-(XEND1,YTOP1),PSET,2
- 4590 IF SPEED=1 THEN GOTO 4630
- 4600 RESTORE *W7
- 4610 GOSUB *GAMEN
- 4620 GOSUB *COMENT_1
- 4630 LINE (XEND1+1,YEND1-1)-(620,YTOP1+1),PSET,0,BF'
- 4640 WAIT 100
- 4650 '
- 4660 LINE (XEND2,YEND2)-(XEND2,YEND2+100),PSET,2
- 4670 LINE (XEND2,YEND2+100)-(XEND3,YEND3),PSET,2'
- 4680 PAINT(XEND2+2,YEND2+90),&H0C0C0C0CC0C0C0C0,2
- 4690 WAIT 100
- 4700 RETURN
- 4710 '
- 4720 *KAISETU
- 4730 IF SPEED=1 THEN GOTO 5760
- 4740 RESTORE *W8
- 4750 GOSUB *GAMEN
- 4760 GOSUB *COMENT_1
- 4770 WAIT 100
- 4780 '
- 4790 RESTORE *W9
- 4800 GOSUB *GAMEN
- 4810 GOSUB *COMENT_1
- 4820 WAIT 100
- 4830 '
- 4840 RESTORE *W10
- 4850 GOSUB *GAMEN
- 4860 GOSUB *COMENT_1
- 4870 WAIT 100
- 4880 '
- 4890 FOR I=0 TO 4
- 4900 LINE(130,81)-(130,181),PSET,2
- 4910 LINE (XEND2+24,YEND2+3)-(XEND2+24,YEND2+3+100),PSET,5
- 4920 A$="縦は 円の半径":SYMBOL@(SPACE,377),A$,1!,1!,6:WAIT 50
- 4930 LINE(130,81)-(130,181),PSET,5
- 4940 LINE (XEND2+24,YEND2+3)-(XEND2+24,YEND2+3+100),PSET,0
- 4950 A$="縦は 円の半径":SYMBOL@(SPACE,377),A$,1!,1!,4:WAIT 50
- 4960 NEXT
- 4970 '
- 4980 FOR I=0 TO 4
- 4990 CIRCLE(131,180),108,5,1,.5!,1,N,PSET
- 5000 LINE (XEND2+32,YEND2+3-15)-(XEND1+32,YEND2+3-15),PSET,5
- 5010 A$=" 横は 円周の長さの半分":SYMBOL@(SPACE,377),A$,1!,1!,6:WAIT 50
- 5020 CIRCLE(131,180),108,0,1,.5!,1,N,PSET
- 5030 LINE (XEND2+32,YEND2+3-15)-(XEND1+32,YEND2+3-15),PSET,0
- 5040 A$=" 横は 円周の長さの半分":SYMBOL@(SPACE,377),A$,1!,1!,4:WAIT 50
- 5050 NEXT
- 5060 '
- 5070 LINE (XEND2+24,YEND2+3)-(XEND2+24,YEND2+3+100),PSET,5
- 5080 LINE (XEND2+32,YEND2+3-15)-(XEND1+32,YEND2+3-15),PSET,5
- 5090 WAIT 250
- 5100 '
- 5110 RESTORE *W11
- 5120 CIRCLE(131,180),108,6,1,1,1,N,PSET
- 5130 READ A$,PS
- 5140 MOZI=LEN(A$):SPACE=(640-MOZI*8)/2
- 5150 FOR I=0 TO MOZI/2-1
- 5160 SYMBOL@(296+16*I,PS),MID$(A$,I*2+1,2),1!,1!,4
- 5170 WAIT 10
- 5180 NEXT I
- 5190 WAIT 100
- 5200 '
- 5210 FOR J=0 TO 3
- 5220 CIRCLE(131,180),108,0,1,1,1,N,PSET
- 5230 SYMBOL@(296,PS),A$,1!,1!,0:WAIT 50
- 5240 CIRCLE(131,180),108,6,1,1,1,N,PSET
- 5250 SYMBOL@(296,PS),A$,1!,1!,4:WAIT 50
- 5260 NEXT
- 5270 '
- 5280 CIRCLE(131,180),112,5,1,.5!,1,N,PSET
- 5290 CIRCLE(131,180),108,6,1,.5!,1,N,PSET
- 5300 READ A$,PS
- 5310 MOZI=LEN(A$):SPACE=(640-MOZI*8)/2
- 5320 FOR I=0 TO MOZI/2-1
- 5330 SYMBOL@(296+16*I,PS),MID$(A$,I*2+1,2),1!,1!,4
- 5340 WAIT 10
- 5350 NEXT I
- 5360 WAIT 100
- 5370 '
- 5380 FOR J=0 TO 3
- 5390 CIRCLE(131,180),112,0,1,.5!,1,N,PSET
- 5400 CIRCLE(131,180),108,6,1,0,1,N,PSET
- 5410 SYMBOL@(296,PS),A$,1!,1!,0:WAIT 50
- 5420 CIRCLE(131,180),112,5,1,.5!,1,N,PSET
- 5430 CIRCLE(131,180),108,6,1,1,1,N,PSET
- 5440 SYMBOL@(296,PS),A$,1!,1!,4:WAIT 50
- 5450 NEXT
- 5460 WAIT 100
- 5470 '
- 5480 LINE(269,202)-(593,283),PSET,0,BF
- 5490 '
- 5500 RESTORE *W12
- 5510 FOR J=0 TO 2'
- 5520 READ A$,PS
- 5530 MOZI=LEN(A$):SPACE=(640-MOZI*8)/2
- 5540 FOR I=0 TO MOZI/2-1
- 5550 SYMBOL@(296+16*I,PS),MID$(A$,I*2+1,2),1!,1!,4
- 5560 WAIT 10
- 5570 NEXT I
- 5580 NEXT J
- 5590 WAIT 100
- 5600 '
- 5610 RESTORE *W13
- 5620 GOSUB *GAMEN
- 5630 GOSUB *COMENT_1
- 5640 WAIT 100
- 5650 '
- 5660 RESTORE *W14
- 5670 GOSUB *GAMEN
- 5680 GOSUB *COMENT_1
- 5690 WAIT 100
- 5700 '
- 5710 RESTORE *W15
- 5720 GOSUB *GAMEN
- 5730 GOSUB *COMENT_1
- 5740 WAIT 100
- 5750 '
- 5760 RETURN
- 5770 '
- 5780 *SAGYOU
- 5790 GOSUB *IROKESI
- 5800 GOSUB *SENKESI
- 5810 LINE(XH1,YH1)-(XH2,YH2),PSET,0,BF
- 5820 IF LC=1 THEN GOTO 5860
- 5830 IF LC=2 THEN GOTO 5850
- 5840 LINE(X-100,Y)-(X,Y),PSET,GC1
- 5850 LINE(X,Y)-(X,Y+GY),PSET,GC2
- 5860 GOSUB *KAKIKOMI
- 5870 RETURN
- 5880 '
- 5890 *IROKESI
- 5900 FOR J=1 TO M/4
- 5910 XC1=FNXC2(KAKU_IRO):YS1=FNYS2(KAKU_IRO)
- 5920 PAINT(XC1,YS1),&H00000000,C
- 5930 N=N+1:KAKU_IRO=KAKU_IRO+KAKU:WAIT TW
- 5940 NEXT
- 5950 RETURN
- 5960 '
- 5970 *SENKESI
- 5980 FOR J=1 TO M/4
- 5990 XC1=FNXC1(KAKU_SEN):YS1=FNYS1(KAKU_SEN)
- 6000 LINE (XC1,YS1)-(X,Y),PSET,0
- 6010 KAKU_SEN=KAKU_SEN+KAKU
- 6020 NEXT
- 6030 IF YE_CHE=1 THEN GOTO 6050
- 6040 LINE (X,Y)-(X,Y-100),PSET,C
- 6050 RETURN
- 6060 '
- 6070 *KAKIKOMI
- 6080 FOR J=1 TO M/4
- 6090 XB11=XT1 :YB11=YT1
- 6100 IF KESI>0 THEN GOTO 6130
- 6110 IF J>1 THEN GOTO 6130
- 6120 X_X=XT1+XBT :Y_Y=YT1+YBT':Y_Y=FIX(YB12)
- 6130 XB12=XT1+XBT :YB12=YT1+YBT:YB12=FIX(YB12)
- 6140 XB13=XT1+2*XBT:YB13=YT1
- 6150 IF YE_CHE=1 THEN GOTO 6170
- 6160 XE1=XT1+XBT :YE1=YT1+YBT-100 :GOTO 6180
- 6170 XE1=XT1+XBT :YE1=YT1+YBT+100
- 6180 LINE (XB12,YB12)-(XB13,YB13),PSET,C2
- 6190 LINE (XB11,YB11)-(XB12,YB12),PSET,C2
- 6200 CIRCLE (XB11,YB11)-(XE1,YE1)-(XB13+1,YB13),C2,PSET
- 6210 PAINT(XT1+XZ,YT1+YZ),&H0C0C0C0CC0C0C0C0,C2:GOTO 6220
- 6220 XT1=XB13:YT1=YB13:WAIT TW
- 6230 NEXT
- 6240 IF HAZI=1 THEN GOTO *YOMI ELSE GOTO *YOMI2
- 6250 *YOMI:XEND2=XB13:YEND2=YB13:XEND3=XB12:YEND3=YB12:GOTO *YOMI2
- 6260 *YOMI2
- 6270 KESI=KESI+1
- 6280 RETURN
- 6290 '
- 6300 *KESI_KAKI
- 6310 FOR J=1 TO M/4
- 6320 '
- 6330 XB11=XT1 :YB11=YT1
- 6340 XB12=XT1+XBT :YB12=YT1+YBT:YB12=FIX(YB12)
- 6350 XB13=XT1+2*XBT:YB13=YT1
- 6360 XE1=XT1+XBT :YE1=YT1+YBT+100
- 6370 '
- 6380 XB21=X1_X :YB21=Y1_Y
- 6390 XB22=X1_X+XBT :YB22=Y1_Y+YBT':YB22=FIX(YB22)
- 6400 XB23=X1_X+2*XBT:YB23=Y1_Y
- 6410 XE2=X1_X+XBT :YE2=Y1_Y+YBT+100
- 6420 '
- 6430 CONNECT (XB12,YB12)-(XB11,YB11)-(XB11,YE1)-(XB13,YE1)-(XB13,YB13)-(XB12,YB12),0,PSET,F,0
- 6440 WAIT TW
- 6450 '
- 6460 LINE (XB22,YB22)-(XB23,YB23),PSET,C2
- 6470 LINE (XB21,YB21)-(XB22,YB22),PSET,C2
- 6480 CIRCLE (XB21,YB21)-(XE2,YE2)-(XB23+1,YB23),C2,PSET
- 6490 PAINT(X1_X+XZ,Y1_Y+YZ),&H0C0C0C0CC0C0C0C0,C2
- 6500 WAIT TW
- 6510 '
- 6520 X1_X=XB23:Y1_Y=YB23
- 6530 XT1=XB13:YT1=YB13
- 6540 IF HAZI=1 THEN GOTO *YOMI3 ELSE *YOMI4
- 6550 '
- 6560 *YOMI3:XEND1=XB22:YEND1=YB22:YTOP1=YE2:GOTO *YOMI4
- 6570 *YOMI4
- 6580 NEXT
- 6590 RETURN
- 6600 '
- 6610 *MAIN_2
- 6620 IF SPEED=1 THEN GOTO 6660
- 6630 RESTORE *W3
- 6640 GOSUB *GAMEN
- 6650 GOSUB *COMENT_1
- 6660 KAKU_IRO=KAKU/2:KAKU_SEN=KAKU:N=1:YE_CHE=0:KESI1=1
- 6670 XBT=XB:YBT=YB:XT1=KNX1:YT1=KNY1-1:XZ=3:YZ=2
- 6680 GOSUB *IROKESI2
- 6690 GOSUB *SENKESI2
- 6700 LINE(KNX1+1,KNY1+1)-(X+101,Y-1),PSET,0,BF
- 6710 LINE(X-100,Y)-(X+100,Y),PSET,C,BF
- 6720 HAZI=2
- 6730 GOSUB *KAKIKOMI2
- 6740 '
- 6750 KAKU_IRO=90+TKAKU+(KAKU/2):KAKU_SEN=90+TKAKU+KAKU:YE_CHE=0
- 6760 XBT=-XB:YBT=YB:XT1=KNX2:YT1=KNY2-1:XZ=-3:YZ=2:KESI1=2
- 6770 GOSUB *IROKESI2
- 6780 GOSUB *SENKESI2
- 6790 LINE(KNX2-1,KNY2+1)-(X-101,Y-1),PSET,0,BF
- 6800 HAZI=1
- 6810 GOSUB *KAKIKOMI2
- 6820 KNXL=KNX2:KNY=KNY2-1:KNXR=KNX1:YNAKA=Y-1:KNY0=KNY+1
- 6830 YE0=YE1+1:YP=Y-90
- 6840 GOSUB *NAKA_KAKI
- 6850 '
- 6860 IF SPEED=1 THEN GOTO 6940
- 6870 RESTORE *W4'
- 6880 GOSUB *GAMEN
- 6890 GOSUB *COMENT_1
- 6900 '
- 6940 LINE (X-100,Y)-(X,Y),PSET,C
- 6950 KAKU_IRO=180+(KAKU/2):KAKU_SEN=180+KAKU:YE_CHE=1:KESI1=0
- 6960 XT1=KNX3:YT1=KNY3+1:XBT=-XB:YBT=-YB:XZ=-3:YZ=-2
- 6970 GOSUB *IROKESI2
- 6980 GOSUB *SENKESI2
- 6990 LINE(X-100,Y)-(X-1,Y),PSET,0:LINE(KNX3-1,KNY3+1)-(X-101,Y),PSET,0,BF
- 7000 HAZI=2
- 7010 GOSUB *KAKIKOMI2
- 7020 '
- 7030 LINE (X,Y)-(KNX3,KNY3+1),PSET,C
- 7040 KAKU_IRO=270+TKAKU+(KAKU/2):KAKU_SEN=270+TKAKU+KAKU:YE_CHE=1
- 7050 XBT=XB:YBT=-YB:XT1=KNX4:YT1=KNY4+1:XZ=3:YZ=-2
- 7060 GOSUB *IROKESI2
- 7070 GOSUB *SENKESI2
- 7080 LINE (X,Y)-(X+100,Y),PSET,0:LINE(KNX4+1,KNY4+1)-(X+100,Y),PSET,0,BF
- 7090 GOSUB *KAKIKOMI2
- 7100 KNXL=KNX3:KNY=KNY3+1:KNXR=KNX4:YNAKA=Y+1:KNY0=KNY-1
- 7110 YE0=YE1-1:YP=Y+90
- 7120 GOSUB *NAKA_KAKI
- 7130 '
- 7140 WAIT 100'
- 7150 IF SPEED=1 THEN GOTO 7190
- 7160 RESTORE *W5
- 7170 GOSUB *GAMEN
- 7180 GOSUB *COMENT_1
- 7190 XT1=KNX4:YT1=KNY4+1:X1_X=XR_X:Y1_Y=YR_Y:XBT=XB :YBT=-YB:XZ=3 :YZ=-2
- 7200 MJ=M/4:PP=1:HAZI=1
- 7210 GOSUB *KESI_KAKI2
- 7220 '
- 7230 XT1=KNX3+2*XB:YT1=KNY3+1:X1_X=XR_X:Y1_Y=YR_Y:XBT=-XB:YBT=-YB:XZ=-3:YZ=-2
- 7240 MJ=M/4+1:PP=2:HAZI=2
- 7250 GOSUB *KESI_KAKI2
- 7260 GOSUB *RL_IDOU
- 7270 '
- 7280 GET@A(240,49)-(560,193),ZU%
- 7290 LINE(240,49)-(560,193),PSET,0,BF
- 7300 PUT@A(272,52)-(592,196),ZU%'X=+32:Y=+3
- 7310 '
- 7320 GOSUB *KAISETU
- 7330 '
- 7340 RETURN
- 7350 '
- 7360 *IROKESI2
- 7370 FOR J=1 TO (M/4)
- 7380 XC1=FNXC2(KAKU_IRO):YS1=FNYS2(KAKU_IRO)
- 7390 PAINT(XC1,YS1),&H00000000,C
- 7400 N=N+1:KAKU_IRO=KAKU_IRO+KAKU:WAIT TW
- 7410 NEXT
- 7420 RETURN
- 7430 '
- 7440 *SENKESI2
- 7450 FOR J=1 TO (M/4)-1
- 7460 XC1=FNXC1(KAKU_SEN):YS1=FNYS1(KAKU_SEN)
- 7470 LINE (XC1,YS1)-(X,Y),PSET,0
- 7480 KAKU_SEN=KAKU_SEN+KAKU
- 7490 NEXT
- 7500 RETURN
- 7510 '
- 7520 *KAKIKOMI2
- 7530 FOR J=1 TO M/4
- 7540 XB11=XT1:YB11=YT1
- 7550 IF KESI>0 THEN GOTO 7610
- 7560 IF J>1 THEN GOTO 7610
- 7570 IF KESI1=1 THEN GOTO 7600
- 7580 IF KESI1=2 THEN GOTO 7610
- 7590 GOTO 7610
- 7600 XR_X=XT1+XBT :YR_Y=YT1+YBT:GOTO 7610
- 7610 XB12=XT1+XBT :YB12=YT1+YBT:YB12=FIX(YB12)
- 7620 XB13=XT1+2*XBT:YB13=YT1
- 7630 IF YE_CHE=1 THEN GOTO 7650
- 7640 XE1=XT1+XBT :YE1=YT1+YBT-100 :GOTO 7660
- 7650 XE1=XT1+XBT :YE1=YT1+YBT+100
- 7660 LINE (XB12,YB12)-(XB13,YB13),PSET,C2
- 7670 LINE (XB11,YB11)-(XB12,YB12),PSET,C2
- 7680 CIRCLE (XB11,YB11)-(XE1,YE1)-(XB13+1,YB13),C2,PSET
- 7690 PAINT(XT1+XZ,YT1+YZ),&H0C0C0C0CC0C0C0C0,C2:GOTO 7700
- 7700 XT1=XB13:YT1=YB13:WAIT TW
- 7710 NEXT
- 7720 IF HAZI=1 THEN GOTO *TORI2 ELSE *TORAZU2
- 7730 *TORI2:XEND2=XB13:YEND2=YB13:XEND3=XB12:YEND3=YB12:GOTO *TORAZU2
- 7740 *TORAZU2
- 7750 RETURN
- 7760 '
- 7770 *KESI_KAKI2
- 7780 FOR J=1 TO MJ
- 7790 XB11=XT1 :YB11=YT1
- 7800 XB12=XT1+XBT :YB12=YT1+YBT:YB12=FIX(YB12)
- 7810 XB13=XT1+2*XBT:YB13=YT1
- 7820 XE1=XT1+XBT :YE1=YT1+YBT+100
- 7830 '
- 7840 XB21=X1_X :YB21=Y1_Y
- 7850 XB22=X1_X+XBT :YB22=Y1_Y+YBT':YB22=FIX(YB22)
- 7860 XB23=X1_X+2*XBT:YB23=Y1_Y
- 7870 XE2=X1_X+XBT :YE2=Y1_Y+YBT+100
- 7880 '
- 7890 IF PP=2 THEN GOTO 7910
- 7900 CONNECT (XB12,YB12)-(XB11,YB11)-(XB11,YE1)-(XB13,YE1)-(XB13,YB13)-(XB12,YB12),0,PSET,F,0:GOTO 7920
- 7910 CONNECT (XB12,YB12-2)-(XB11+1,YB11)-(XB11+1,YE1)-(XB13-1,YE1)-(XB13-1,YB13)-(XB12,YB12-2),0,PSET,F,0
- 7920 WAIT TW
- 7930 '
- 7940 LINE (XB22,YB22)-(XB23,YB23),PSET,C2
- 7950 LINE (XB21,YB21)-(XB22,YB22),PSET,C2
- 7960 CIRCLE (XB21,YB21)-(XE2,YE2)-(XB23+1,YB23),C2,PSET
- 7970 PAINT(X1_X+XZ,Y1_Y+YZ),&H0C0C0C0CC0C0C0C0,C2
- 7980 WAIT TW
- 7990 '
- 8000 X1_X=XB23:Y1_Y=YB23
- 8010 XT1=XB13:YT1=YB13
- 8020 NEXT
- 8030 IF HAZI=1 THEN GOTO *TORI ELSE GOTO *TORAZU
- 8040 *TORI:XEND1=XB22:YEND1=YB22:YTOP1=YE2:GOTO *TORAZU
- 8050 *TORAZU
- 8060 RETURN
- 8070 '
- 8080 *NAKA_KAKI
- 8090 LINE(X,Y)-(KNXL,KNY0),PSET,C2:LINE(X,Y)-(KNXR,KNY0),PSET,0
- 8100 CIRCLE (KNXL,KNY0)-(X,YE0)-(KNXR,KNY0),0,PSET
- 8110 LINE(X,YNAKA)-(KNXL,KNY),PSET,C2:LINE(X,YNAKA)-(KNXR,KNY),PSET,C2
- 8120 CIRCLE (KNXL,KNY)-(X,YE1)-(KNXR,KNY),C2,PSET
- 8130 PAINT(X,YP),&H0C0C0C0CC0C0C0C0,C2:WAIT TW
- 8140 RETURN
- 8150 '
- 8160 *HELP
- 8170 LINE(22,410)-(620,470),PSET,%5,BF'
- 8180 READ A$,PS
- 8190 MOZI=LEN(A$):SPACE=(640-MOZI*8)/2
- 8200 SYMBOL@(SPACE,PS),A$,1!,1!,2
- 8210 RETURN
- 8220 '
- 8230 *OWARI
- 8240 RESTORE *WH5
- 8250 GOSUB *HELP'
- 8260 LINE (142,419)-(242,445),PSET,1,B:LINE(270,419)-(370,445),PSET,1,B
- 8265 LINE (397,419)-(497,445),PSET,1,B
- 8270 MOUSE 0:MOUSE 1,313,426,1
- 8280 X=MOUSE(4,0):Y=MOUSE(5,0)
- 8290 IF Y<419 OR Y>449 THEN GOTO 8280
- 8310 IF X>142 AND X<242 THEN *OSIMAI
- 8312 IF X>270 AND X<370 THEN *MOITIDO
- 8315 IF X>397 AND X<497 THEN *MENUU
- 8320 *MOITIDO
- 8330 LINE(22,410)-(620,470),PSET,%5,BF
- 8340 MOUSE 5
- 8350 LINE(12,40)-(627,320),PSET,0,BF:LINE(14,42)-(625,318),PSET,1,B'
- 8360 GOSUB *GAMEN
- 8370 GOTO *HAZIME
- 8380 '
- 8390 *OSIMAI
- 8400 LINE(22,410)-(620,470),PSET,%5,BF
- 8410 MOUSE 5
- 8420 SYSTEM
- 8430 '
- 8431 *MENUU
- 8432 MOUSE 5
- 8433 CHAIN "MENU2.BAS",,ALL
- 8434 RUN "MENU2.BAS"
- 8435 '
- 8440 *MODE_SETTEI
- 8450 LINE(22,405)-(620,470),PSET,%5,BF
- 8460 SYMBOL@(25,406),"どちらか 選んで下さい。",1!,1!,6
- 8470 SYMBOL@(90,427),"■ 解説を見ながらやる(初めての人はぜひこちらで)",1!,1!,6
- 8480 SYMBOL@(90,448),"■ 解説抜きのハイスピードモードでやる。",1!,1!,6
- 8490 MOUSE 0:MOUSE 1,69,436,1
- 8500 X=MOUSE(4,0):Y=MOUSE(5,0)
- 8510 IF Y>427 AND Y<445 THEN *LOW
- 8520 IF Y>448 AND Y<466 THEN *HIGHI
- 8530 GOTO 8500
- 8540 *LOW
- 8550 SPEED=0:MOUSE 5:LINE(22,405)-(620,470),PSET,%5,BF:RETURN
- 8560 *HIGHI
- 8570 SPEED=1:MOUSE 5:LINE(22,405)-(620,470),PSET,%5,BF:RETURN
-